MuleSoft Accelerators - Common Services
Notification services
The solution provides an optional Notifications Process API, which consumes notification events and sends notifications to individuals or groups via SMS, email, or Slack via system APIs specific to those services. The high-level design is as follows:
As you can see, the API offloads incoming requests directly to a queue in order to avoid blocking calling apps.
High-level workflow
Here is a high level description of the workflow for the notification process:
A module calls the Notifications Process API, providing:
- NOTIFICATION_TYPE - One of
email
,sms
, orslack
- NOTIFICATION_ADDRESS - Destination address/number
- NOTIFICATION_MESSAGE - Notification message text
- NOTIFICATION_TYPE - One of
The API places the message on a queue for downstream processing and immediately returns a success response.
A queue subscriber receives the message and routes it to the appropriate System API based on the NOTIFICATION_TYPE.
The System API synchronously processes the message and posts it to the back-end service.
For service configuration details please refer to the Accelerators setup guide as well as the individual RAML specifications and implementation templates for the individual services themselves.